From 2da2ec197324cdf10917b374ec18052c232b9eee Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Wed, 8 Aug 2007 13:18:07 +0100 Subject: [PATCH] hvm: Fix %cr4 handling in HAP paging mode. Signed-off-by: Keir Fraser --- xen/arch/x86/hvm/hvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index c5294f6334..c9d15e00f2 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -585,9 +585,10 @@ int hvm_set_cr4(unsigned long value) old_cr = v->arch.hvm_vcpu.guest_cr[4]; v->arch.hvm_vcpu.guest_cr[4] = value; - v->arch.hvm_vcpu.hw_cr[4] = value | HVM_CR4_HOST_MASK; + v->arch.hvm_vcpu.hw_cr[4] = HVM_CR4_HOST_MASK; if ( paging_mode_hap(v->domain) ) v->arch.hvm_vcpu.hw_cr[4] &= ~X86_CR4_PAE; + v->arch.hvm_vcpu.hw_cr[4] |= value; hvm_update_guest_cr(v, 4); /* Modifying CR4.{PSE,PAE,PGE} invalidates all TLB entries, inc. Global. */ -- 2.30.2